{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "AS6cvEWcdEwj"
      },
      "source": [
        "# Utilizing Deepchem Molecular Models for **Crystalization Tendency** Regression of Polymers\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "KhsscyVWdSGi"
      },
      "source": [
        "## Table of Contents:\n",
        "1. [Introduction](#introduction)\n",
        "2. [Installation and Imports](#install)\n",
        "3. [Data Loading](#dataload)\n",
        "4. [Featurization, Model Training and Evaluation](#modeleval)\n",
        "5. [Summary](#sum)\n",
        "6. [Reference](#ref)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "-Nr3sALP9YMu"
      },
      "source": [
        "## 1. Introduction <a id=\"introduction\"></a>"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "YxMI9vV2zqbl"
      },
      "source": [
        "Polymer films are crucial in the production of certain pharmaceuticals, such as coated and modified-release dosage forms. These orally administered forms aim to control the release of the therapeutic agent, thereby regulating drug absorption from the gastrointestinal tract. A similar application is achieved using mucoadhesive films, where the solid active pharmaceutical ingredient (API) incorporated in the film layer is absorbed.`[2]`\n",
        "\n",
        "During the preparation of a coating layer film, it is essential to understand its physicochemical properties, such as glass transition temperature, minimum film-forming temperature, flexibility, and surface properties. It is also important to know how the API particles are situated within the film-forming polymer structure and whether these particles alter the properties of the resulting film. Insoluble particles in the coating liquid can affect the final film's characteristics. APIs in the film layer are mostly in solid form and rarely dissolved; therefore, the particle size of the API is crucial, and the use of microcrystalline forms is recommended. The physicochemical properties are significantly influenced by the crystallization tendency of the polymer material. The crystalline form of the polymer film is critical for the controlled release of microcrystalline API particles. (As shown in Figure - 1)`[3,4]`\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "SyPRB0BVhiui"
      },
      "source": [
        "![43094_2020_167_Fig4_HTML.png]()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "0zcWcPFJ8ZJH"
      },
      "source": [
        "**Figure - 1**: The mechanism of coating polymer particles to form a flexible polymer layer to obtain control over release of drug over time. [[7]](#img-ref)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "UrAHXI5s8VPW"
      },
      "source": [
        "In this notebook, we will explore how to predict the crystallization tendency of polymers using DeepChem's molecular model architecture. We will employ standard featurizations and test various models to achieve optimal crystallization tendency predictions with minimal loss. Crystallization tendency is influenced by factors such as storage temperature, cooling conditions, and the internal crystal structure of the polymer. For this application, we will use SMILES strings representing base monomer molecules to perform regression analysis on the crystallization tendency of the polymers. `[5]`\n",
        "\n",
        "Beyond this specific application, determining the crystallization tendency is broadly useful. A high degree of crystallinity is associated with excellent mechanical properties, essential for high-performance applications like composites. Conversely, low crystallinity enhances ion and gas mobility, which is crucial for battery and membrane applications.`[1]`"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "m7FMrmJP-Wuc"
      },
      "source": [
        "## 2. Installation and Imports <a id=\"install\" />"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "collapsed": true,
        "id": "i-cIAhEy-mol"
      },
      "outputs": [],
      "source": [
        "# Installation for deepchem (compatible for google colab with CUDA 12.1) [Must use with a GPU Instance]\n",
        "%%capture --no-stderr\n",
        "! pip install rdkit deepchem torch_geometric dgllife\n",
        "! pip install -f https://download.pytorch.org/whl/cu118/torch_stable.html torch==2.2.1+cu118\n",
        "! pip install  dgl -f https://data.dgl.ai/wheels/torch-2.2/cu121/repo.html"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 10,
      "metadata": {
        "collapsed": true,
        "id": "RfBtvLO_--kg"
      },
      "outputs": [],
      "source": [
        "# All Imports\n",
        "import pandas as pd\n",
        "import deepchem as dc\n",
        "from deepchem.feat import MolGraphConvFeaturizer\n",
        "import rdkit\n",
        "from rdkit import Chem\n",
        "from rdkit.Chem import Draw\n",
        "from rdkit.Chem.Draw import IPythonConsole\n",
        "import numpy as np\n",
        "from sklearn.model_selection import train_test_split\n",
        "IPythonConsole.ipython_useSVG=True"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "xcQ0BCNjmVxW"
      },
      "source": [
        "## 3. Data Loading <div id=\"dataload\" />"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "VUtMZNS7nIsz"
      },
      "source": [
        "We have collected a dataset of polymer SMILES mapped with their crystallization tendency. The research paper from which we have collected the dataset has been provided in the reference section.`[6]` In the code below we are downloading the dataset directly from github repository using `wget`."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "collapsed": true,
        "id": "BqmkFmVAdaU0",
        "outputId": "50448017-15b1-4aa1-89cd-584cb9ddae04"
      },
      "outputs": [],
      "source": [
        "! wget \"https://media.githubusercontent.com/media/ChangwenXu98/TransPolymer/master/data/Xc.csv\""
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ZCBuBmV2dl8X",
        "outputId": "d57ccd69-8fdf-443f-de71-4b0def503a41"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Number of data points 432\n"
          ]
        },
        {
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>smiles</th>\n",
              "      <th>value</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>*C*</td>\n",
              "      <td>47.80</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>*CC(*)C</td>\n",
              "      <td>44.47</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>*CC(*)CC</td>\n",
              "      <td>34.04</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>*CC(*)CCC</td>\n",
              "      <td>20.01</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>*CC(*)CC(C)C</td>\n",
              "      <td>21.64</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "         smiles  value\n",
              "0           *C*  47.80\n",
              "1       *CC(*)C  44.47\n",
              "2      *CC(*)CC  34.04\n",
              "3     *CC(*)CCC  20.01\n",
              "4  *CC(*)CC(C)C  21.64"
            ]
          },
          "execution_count": 4,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "df = pd.read_csv(\"./Xc.csv\")\n",
        "print(\"Number of data points\", df.shape[0])\n",
        "df.head()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Number of data points in train set 388\n",
            "Number of data points in test set 44\n"
          ]
        }
      ],
      "source": [
        "# Splitting the dataset into train and test sets\n",
        "train_df, test_df = train_test_split(df, test_size=0.1, random_state=42)\n",
        "print(\"Number of data points in train set\", train_df.shape[0])\n",
        "print(\"Number of data points in test set\", test_df.shape[0])\n",
        "\n",
        "train_df.to_csv(\"train_Xc.csv\",index=False)\n",
        "test_df.to_csv(\"test_Xc.csv\",index=False)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Mk65RX7sjIUm"
      },
      "source": [
        "By examining the SMILES strings in the dataframe, we notice the use of `*` to denote an open bond. For instance, the second data point contains the SMILES `*CC(*)C`, representing the monomer state of propylene, which could be written as `C(H2)=C(H)C(H3)` with closed bonds. The double bond, represented by `=`, is broken to create open bonds, indicated by `*`, near the first two carbon atoms. (We can graphically visualize the same as the output of the code snippet below)\n",
        "\n",
        "In this manner, a total of 432 polymer molecules are represented as SMILES strings. The crystallization tendency parameter, which serves as the target regression feature, is provided in the `value` column as a float datatype."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "FTGTWuwLh84u",
        "outputId": "e3d46bd1-f4f3-4799-b897-c8125bb1fff6"
      },
      "outputs": [
        {
          "data": {
            "image/jpeg": "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oAAYHGFIxyateHfAmlaDctqEhl1HV5OZdRvW3yk/7OeFH07dzXUUUAFFFFABRRRQAUUUUAFFFFABRRRQBxWv/DixvtQOs6FdS6Drw5+2WYwsp9JY/uuPXue+azoPH2q+FriOw+IGnC1RiEi1qzUvaSntvHWMn3/QV6NWb4hijm8N6nHLGsiNaSgqwyD8p7UAcjqPxJOo3kmk+BtPOvagvyyXIO2zt/d5OjfRevrml034bm+v49Y8b6gde1JDujt2G2ztvZI+h+rdfTNXPhPFHH8LtBKIql7fe20Y3MWOSfU12dACKoVQqgBQMADoKWiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKoa5/yL+pf9esv/oBq/VDXP8AkX9S/wCvWX/0A0Ac78Kv+SXeHv8Ar1H8zXY1x3wq/wCSXeHv+vUfzNdjQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABVDXP+Rf1L/r1l/9ANX6oa5/yL+pf9esv/oBoA534Vf8ku8Pf9eo/ma7GuO+FX/JLvD3/XqP5muxoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqhrn/Iv6l/16y/+gGr9UNc/5F/Uv+vWX/0A0Ac78Kv+SXeHv+vUfzNdjXHfCr/kl3h7/r1H8zXY0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVQ1z/kX9S/69Zf/AEA1fqO4gjubeW3lXdHKhRxnGQRg0Acl8Kv+SXeHv+vUfzNdjVLSNJs9C0m20zT4jFaWybIkLFsD6nk1doAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP//Z",
            "image/png": "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",
            "text/plain": [
              "<PIL.PngImagePlugin.PngImageFile image mode=RGB size=200x200>"
            ]
          },
          "execution_count": 5,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "smiles = \"*CC(*)C\"\n",
        "mol = Chem.MolFromSmiles(smiles)\n",
        "Draw.MolToImage(mol, kekulize=False, size=(200, 200))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "nw3Bcw0DmxJ-"
      },
      "source": [
        "## 4. Featurization, Model Training and Evaluation <a id=\"modeleval\" />"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Iz2SgRFfnCKv"
      },
      "source": [
        "With the required dataset loaded, we can proceed to train some models. Deepchem offers various models suitable for regression tasks in a molecular context. We have implemented a featurization mechanism, followed by model training, and recorded the training loss to validate the alignment of the data with the model.\n",
        "\n",
        "For educational purposes and computational feasibility, we used a smaller dataset and implemented a lower number of epochs. However, for real-world applications, this process can be scaled with larger datasets and more computational resources to generate meaningful outcomes.\n",
        "\n",
        "The process of training each model is going be of following steps.\n",
        "###### i. Set the featurizer\n",
        "###### ii. Featurize the input values and combine the target to form a dataset / dataloader\n",
        "###### iii. Configure the model\n",
        "###### iv. Fit the model with the dataset / dataloader and record the training loss."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "l6uycSLMo6kc"
      },
      "source": [
        "### i. Graph Convolution Neural Network (GCN)\n",
        "\n",
        "Graph Convolutional Neural Networks (GCNs) are particularly effective in molecular modeling, as they can directly operate on the graph structure of molecules. In the context of our study, GCNs can be employed to capture the intricate relationships between atoms and bonds, offering a powerful method for predicting the crystallization tendency of polymers. To understand more about GCNs and Graph Convolution, you can read out anther tutorial by clicking on this [link](https://deepchem.io/tutorials/introduction-to-graph-convolutions/).\n",
        "\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 30,
      "metadata": {
        "id": "ImEnoyMgnu00"
      },
      "outputs": [],
      "source": [
        "# setting up the featurizer\n",
        "molgraph_conv_featurizer = MolGraphConvFeaturizer()\n",
        "\n",
        "# featurizing and preparing the dataset\n",
        "X_molgraph_conv = molgraph_conv_featurizer.featurize(train_df[\"smiles\"].values)\n",
        "y_molgraph_conv = train_df[\"value\"].values\n",
        "molgraph_conv_dataset = dc.data.NumpyDataset(X_molgraph_conv, y_molgraph_conv)\n",
        "\n",
        "X_molgraph_conv_test = molgraph_conv_featurizer.featurize(test_df[\"smiles\"].values)\n",
        "y_molgraph_conv_test = test_df[\"value\"].values\n",
        "molgraph_conv_dataset_test = dc.data.NumpyDataset(X_molgraph_conv_test, y_molgraph_conv_test)\n",
        "\n",
        "metric = dc.metrics.Metric(dc.metrics.mean_squared_error)\n",
        "losses_gcn, val_losses_gcn = [], []\n",
        "# initializing the model class\n",
        "GCN_MODEL = dc.models.GCNModel(\n",
        "    mode=\"regression\",\n",
        "    n_tasks=1,\n",
        "    batch_size=2,\n",
        "    learning_rate=0.001,\n",
        ")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 31,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "IQTSFvp8ozBF",
        "outputId": "157be1b3-87b1-4a43-8352-071e842e8a75"
      },
      "outputs": [],
      "source": [
        "for n in range(20):\n",
        "    l2_loss_GCN = GCN_MODEL.fit(molgraph_conv_dataset, nb_epoch=1)\n",
        "    losses_gcn.append(l2_loss_GCN)\n",
        "    val_loss_GCN = GCN_MODEL.evaluate(molgraph_conv_dataset_test, [metric])\n",
        "    val_losses_gcn.append(val_loss_GCN)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "PHOJhzu-tZbp"
      },
      "source": [
        "### ii. Molecular Attention Transformer (MAT)\n",
        "\n",
        "Molecular Attention Transformers provide a robust method for molecular modeling by leveraging the attention mechanism to analyze various parts of a molecule when making predictions. For this tutorial, these transformers can be useful for predicting the crystallization tendency of polymers. Unlike traditional models, Molecular Attention Transformers can dynamically assign weights to different atoms and bonds within the molecular structure, thereby capturing long-range dependencies and complex interactions more precisely. This approach enhances the model's capacity to discern intricate patterns in the molecular data, resulting in more accurate predictions. To learn more about the mechanism, you can go through this [tutorial](https://deepchem.io/tutorials/introduction-to-molecular-attention-transformer/)."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "collapsed": true,
        "id": "BtGLEaZ8BFmm",
        "outputId": "00365006-1260-4a0d-ac0b-6b05fac90b62"
      },
      "outputs": [],
      "source": [
        "# setting up the featurizer\n",
        "MAT_featurizer = dc.feat.MATFeaturizer()\n",
        "\n",
        "# featurizing and preparing the dataset\n",
        "MAT_data_loader = dc.data.CSVLoader(tasks=['value'], feature_field='smiles', featurizer=MAT_featurizer)\n",
        "MAT_dataset = MAT_data_loader.create_dataset('./train_Xc.csv')\n",
        "# featurizing the test data\n",
        "MAT_dataset_test = MAT_data_loader.create_dataset('./test_Xc.csv')\n",
        "\n",
        "# Evaluating the model\n",
        "metric = dc.metrics.Metric(dc.metrics.mean_squared_error)\n",
        "# setting up the loss storage\n",
        "losses, val_losses = [], []\n",
        "\n",
        "# initializing the model class\n",
        "MAT_model = dc.models.torch_models.MATModel(batch_size=10)\n",
        "for n_epoch in range(20):\n",
        "    l2_loss_MAT = MAT_model.fit(MAT_dataset, nb_epoch=1)\n",
        "    losses.append(l2_loss_MAT)\n",
        "    val_losses.append(MAT_model.evaluate(MAT_dataset_test, [metric]))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "### iii. Directed Message Passing Neural Network (D-MPNN)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "Directed Message Passing Neural Networks (D-MPNNs) offer a sophisticated approach for molecular modeling by explicitly passing messages between atoms to capture the detailed structure of the molecule. In our study, D-MPNNs are used to predict the crystallization tendency of polymers. These networks operate by iteratively updating atom representations based on their neighbors, effectively capturing both local and global structural information. This method allows for precise modeling of the complex interactions within the molecular graph, leading to improved prediction accuracy. For better understanding of D-MPNN and it's integration with deepchem, [this tutorial](https://forum.deepchem.io/t/gsoc-22-d-mpnn-model-for-deepchem-report/803) can be helpful."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 33,
      "metadata": {
        "id": "T_7DZB4K807E"
      },
      "outputs": [],
      "source": [
        "# setting up the featurizer\n",
        "dmpnn_featurizer = dc.feat.DMPNNFeaturizer()\n",
        "\n",
        "# featurizing and preparing the dataset\n",
        "dmpnn_loader = dc.data.CSVLoader(tasks=['value'], feature_field='smiles', featurizer=dmpnn_featurizer)\n",
        "dmpnn_dataset = dmpnn_loader.create_dataset('./train_Xc.csv')\n",
        "dmpnn_dataset_test = dmpnn_loader.create_dataset('./test_Xc.csv')\n",
        "metric = dc.metrics.Metric(dc.metrics.mean_squared_error)\n",
        "\n",
        "losses_dmpnn, val_losses_dmpnn = [], []\n",
        "\n",
        "# initializing the model class\n",
        "dmpnn_model = dc.models.torch_models.DMPNNModel(batch_size=10)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 34,
      "metadata": {
        "id": "iEKj_eRL9Nk4"
      },
      "outputs": [],
      "source": [
        "for n in range(20):\n",
        "    dmpnn_loss = dmpnn_model.fit(dmpnn_dataset, nb_epoch=1)\n",
        "    losses_dmpnn.append(dmpnn_loss)\n",
        "    dmpnn_val_loss = dmpnn_model.evaluate(dmpnn_dataset_test, [metric])\n",
        "    val_losses_dmpnn.append(dmpnn_val_loss)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "#### Evaluation Analysis"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 60,
      "metadata": {},
      "outputs": [
        {
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAHHCAYAAABeLEexAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAADHL0lEQVR4nOzdd3zM9x/A8ddlLxlmREJssdWqrbUiVo2q0ZqlVYpqa/RXihrVqlotbSkdVFtCVVFRe9QoSok9QqwiRISMu8/vj687ToZLcie5eD897uHu+/3c5/v+Xm68v5/P5/v56pRSCiGEEEKIp5hDdgcghBBCCJHdJCESQgghxFNPEiIhhBBCPPUkIRJCCCHEU08SIiGEEEI89SQhEkIIIcRTTxIiIYQQQjz1JCESQgghxFNPEiIhhBBCPPUkIRIih+vVqxfBwcGZeu7YsWPR6XTWDUiITGjcuDGNGzfO1HODg4Pp1auXVeMR4lGSEAmRSTqdzqLbpk2bsjvUbNGrVy+8vLyyO4wMqVWrFjqdjjlz5mR3KDZx9uxZ0/tywoQJqZbp3r07Op3O7v52QmSVU3YHIIS9+v77780ef/fdd0RERKRYHhISkqXtfP311xgMhkw99/3332fkyJFZ2v7T4sSJE+zZs4fg4GAWLVrEgAEDsjskm3Fzc+PHH3/k/fffN1t+584dfv31V9zc3LIpMiGyjyREQmTSyy+/bPb4r7/+IiIiIsXyR8XHx+Ph4WHxdpydnTMVH4CTkxNOTvIxt8QPP/xAwYIF+fTTT+nUqRNnz57NdFflo+7cuYOnp6dV6rKGsLAwwsPD+eeff6hSpYpp+a+//kpiYiKhoaFs2LAhGyMU4smTLjMhbKhx48ZUrFiRv//+m4YNG+Lh4cF7770HaD8+rVq1IiAgAFdXV0qWLMmHH36IXq83q+PRMUTGbo+pU6fy1VdfUbJkSVxdXalZsyZ79uwxe25qY4h0Oh2DBg1ixYoVVKxYEVdXVypUqMDatWtTxL9p0yZq1KiBm5sbJUuW5Msvv7T6uKRffvmF6tWr4+7uTv78+Xn55ZeJjo42K3P58mV69+5NYGAgrq6uFC5cmHbt2nH27FlTmb1799KiRQvy58+Pu7s7xYsXp0+fPhbHsXjxYjp16kTr1q3x8fFh8eLFqZbbtWsXYWFh+Pn54enpSeXKlZkxY4ZpvbGr8NSpU4SFhZEnTx66d+8OaInR22+/TVBQEK6urpQtW5apU6eilDLbRkREBPXr18fX1xcvLy/Kli1ret8YzZo1iwoVKuDh4YGfnx81atRIM+ZH1alTh+LFi6cov2jRIkJDQ8mbN2+qz/viiy+oUKECrq6uBAQEMHDgQG7evJminPF96e7uTq1atdi6dWuq9SUkJPDBBx9QqlQpXF1dCQoKYvjw4SQkJKQbf1JSEuPGjaN06dK4ubmRL18+6tevT0REhEX7L0Rq5NBRCBu7fv06LVu2pEuXLrz88ssUKlQIgIULF+Ll5cWwYcPw8vJiw4YNjBkzhtjYWD755JPH1rt48WJu377Na6+9hk6n4+OPP6ZDhw6cPn36sa1K27ZtIzw8nDfeeIM8efIwc+ZMOnbsSFRUFPny5QNg//79hIaGUrhwYcaNG4der2f8+PEUKFAg6y/KfQsXLqR3797UrFmTyZMnc+XKFWbMmMH27dvZv38/vr6+AHTs2JHDhw/z5ptvEhwczNWrV4mIiCAqKsr0uHnz5hQoUICRI0fi6+vL2bNnCQ8PtyiOXbt2cfLkSRYsWICLiwsdOnRg0aJFKZKQiIgIWrduTeHChRkyZAj+/v5ERkayatUqhgwZYiqXnJxMixYtqF+/PlOnTsXDwwOlFG3btmXjxo307duXqlWr8scff/Duu+8SHR3NZ599BsDhw4dp3bo1lStXZvz48bi6unLy5Em2b99uqv/rr79m8ODBdOrUiSFDhnDv3j0OHjzIrl276Natm0X73LVrV3744Qc++ugjdDod165dY926dXz//fepJsdjx45l3LhxNG3alAEDBnDs2DHmzJnDnj172L59u+k9N3/+fF577TXq1q3L0KFDOX36NG3btiVv3rwEBQWZ6jMYDLRt25Zt27bRv39/QkJCOHToEJ999hnHjx9nxYoVacY+duxYJk+ezKuvvkqtWrWIjY1l79697Nu3j2bNmlm0/0KkoIQQVjFw4ED16EeqUaNGClBz585NUT4+Pj7Fstdee015eHioe/fumZb17NlTFStWzPT4zJkzClD58uVTN27cMC3/9ddfFaB+++0307IPPvggRUyAcnFxUSdPnjQt++effxSgZs2aZVrWpk0b5eHhoaKjo03LTpw4oZycnFLUmZqePXsqT0/PNNcnJiaqggULqooVK6q7d++alq9atUoBasyYMUoppWJiYhSgPvnkkzTrWr58uQLUnj17HhtXagYNGqSCgoKUwWBQSim1bt06Baj9+/ebyiQnJ6vixYurYsWKqZiYGLPnG5+nlLbfgBo5cqRZmRUrVihATZgwwWx5p06dlE6nM/09PvvsMwWo//77L81427VrpypUqJDh/TS+dz755BP177//KkBt3bpVKaXU559/rry8vNSdO3dS/O2uXr2qXFxcVPPmzZVerzctnz17tgLUN998o5R68DetWrWqSkhIMJX76quvFKAaNWpkWvb9998rBwcH0/aN5s6dqwC1fft207JixYqpnj17mh5XqVJFtWrVKsP7L0R6pMtMCBtzdXWld+/eKZa7u7ub7t++fZtr167RoEED4uPjOXr06GPrfemll/Dz8zM9btCgAQCnT59+7HObNm1KyZIlTY8rV66Mt7e36bl6vZ7169fzwgsvEBAQYCpXqlQpWrZs+dj6LbF3716uXr3KG2+8YTaIt1WrVpQrV47ff/8d0F4nFxcXNm3aRExMTKp1GVuSVq1aRVJSUobiSE5O5qeffuKll14ydQU+//zzFCxYkEWLFpnK7d+/nzNnzjB06FDT9oxS60J8dFD26tWrcXR0ZPDgwWbL3377bZRSrFmzxmxffv311zQH0/v6+nLhwoUUXaQZUaFCBSpXrsyPP/4IaC2O7dq1S3V82/r160lMTGTo0KE4ODz42ejXrx/e3t6mv5Xxb/r666/j4uJiKterVy98fHzM6vzll18ICQmhXLlyXLt2zXR7/vnnAdi4cWOasfv6+nL48GFOnDiR6f0X4lGSEAlhY0WKFDH7cTA6fPgw7du3x8fHB29vbwoUKGAakH3r1q3H1lu0aFGzx8bkKK2kIb3nGp9vfO7Vq1e5e/cupUqVSlEutWWZce7cOQDKli2bYl25cuVM611dXZkyZQpr1qyhUKFCNGzYkI8//pjLly+byjdq1IiOHTsybtw48ufPT7t27ViwYMFjx6IArFu3jv/++49atWpx8uRJTp48yZkzZ3juuef48ccfTUnJqVOnAKhYseJj63RyciIwMDDF/gYEBJAnTx6z5cazEI37+9JLL1GvXj1effVVChUqRJcuXfj555/NkqMRI0bg5eVFrVq1KF26NAMHDjTrUrNUt27d+OWXXzh58iQ7duxIs7strb+Vi4sLJUqUMK03/l+6dGmzcs7OzpQoUcJs2YkTJzh8+DAFChQwu5UpUwbQ3oNpGT9+PDdv3qRMmTJUqlSJd999l4MHD2Zgz4VISRIiIWzs4ZYgo5s3b9KoUSP++ecfxo8fz2+//UZERARTpkwBsOg0e0dHx1SXq0cG6Fr7udlh6NChHD9+nMmTJ+Pm5sbo0aMJCQlh//79gNZCs3TpUnbu3MmgQYOIjo6mT58+VK9enbi4uHTrNrYCde7cmdKlS5tuP/30E9HR0WzevDnD8bq6upq1pGSEu7s7W7ZsYf369bzyyiscPHiQl156iWbNmpkG3IeEhHDs2DGWLFlC/fr1WbZsGfXr1+eDDz7I0La6du3KtWvX6NevH/ny5aN58+aZijkzDAYDlSpVIiIiItXbG2+8keZzGzZsyKlTp/jmm2+oWLEi8+bN45lnnmHevHlPLH6R+0hCJEQ22LRpE9evX2fhwoUMGTKE1q1b07RpU7MusOxUsGBB3NzcOHnyZIp1qS3LjGLFigFw7NixFOuOHTtmWm9UsmRJ3n77bdatW8e///5LYmIin376qVmZZ599lokTJ7J3714WLVrE4cOHWbJkSZoxGOfdeemll/jll19S3AoXLmxKmIxdjP/++2+m9/fixYvcvn3bbLmxe/Th/XVwcKBJkyZMmzaNI0eOMHHiRDZs2GDWjeTp6clLL73EggULiIqKolWrVkycOJF79+5ZHFPRokWpV68emzZt4sUXX0xzioa0/laJiYmcOXPGtN74/6NdWUlJSZw5c8ZsWcmSJblx4wZNmjShadOmKW6ptRw+LG/evPTu3Zsff/yR8+fPU7lyZcaOHWvxvgvxKEmIhMgGxhaah1tkEhMT+eKLL7IrJDOOjo40bdqUFStWcPHiRdPykydPmsa6ZFWNGjUoWLAgc+fONevaWrNmDZGRkbRq1QrQ5m169Ee+ZMmS5MmTx/S8mJiYFK1bVatWBUi322z58uXcuXOHgQMH0qlTpxS31q1bs2zZMhISEnjmmWcoXrw406dPT3GquSUta2FhYej1embPnm22/LPPPkOn05nGZt24cSPFcx/dl+vXr5utd3FxoXz58iilMjyGasKECXzwwQe8+eabaZZp2rQpLi4uzJw502xf58+fz61bt0x/qxo1alCgQAHmzp1LYmKiqdzChQtTvGadO3cmOjqar7/+OsX27t69y507d9KM59H99/LyolSpUhZ1kQqRFjntXohsULduXfz8/OjZsyeDBw9Gp9Px/fff56guq7Fjx7Ju3Trq1avHgAEDTD/mFStW5MCBAxbVkZSUlOolIvLmzcsbb7zBlClT6N27N40aNaJr166m0+6Dg4N56623ADh+/DhNmjShc+fOlC9fHicnJ5YvX86VK1fo0qULAN9++y1ffPEF7du3p2TJkty+fZuvv/4ab29vwsLC0oxv0aJF5MuXj7p166a6vm3btnz99df8/vvvdOjQgTlz5tCmTRuqVq1K7969KVy4MEePHuXw4cP88ccf6b4Wbdq04bnnnuN///sfZ8+epUqVKqxbt45ff/2VoUOHmlqgxo8fz5YtW2jVqhXFihXj6tWrfPHFFwQGBlK/fn0Amjdvjr+/P/Xq1aNQoUJERkYye/ZsWrVqlWKM0uM0atSIRo0apVumQIECjBo1inHjxhEaGkrbtm05duwYX3zxBTVr1jSNfXN2dmbChAm89tprPP/887z00kucOXOGBQsWpBhD9Morr/Dzzz/z+uuvs3HjRurVq4der+fo0aP8/PPP/PHHH9SoUSPVeMqXL0/jxo2pXr06efPmZe/evSxdupRBgwZlaN+FMJNt57cJkcukddp9WqdHb9++XT377LPK3d1dBQQEqOHDh6s//vhDAWrjxo2mcmmddp/aaeiA+uCDD0yP0zrtfuDAgSme++ipzUop9eeff6pq1aopFxcXVbJkSTVv3jz19ttvKzc3tzRehQeMp5+nditZsqSp3E8//aSqVaumXF1dVd68eVX37t3VhQsXTOuvXbumBg4cqMqVK6c8PT2Vj4+Pql27tvr5559NZfbt26e6du2qihYtqlxdXVXBggVV69at1d69e9OM78qVK8rJyUm98soraZaJj49XHh4eqn379qZl27ZtU82aNVN58uRRnp6eqnLlymbTFaQ33cDt27fVW2+9pQICApSzs7MqXbq0+uSTT8xO2//zzz9Vu3btVEBAgHJxcVEBAQGqa9eu6vjx46YyX375pWrYsKHKly+fcnV1VSVLllTvvvuuunXrVpr7olT6752HpbUPs2fPVuXKlVPOzs6qUKFCasCAASmmIFBKqS+++EIVL15cubq6qho1aqgtW7aoRo0amZ12r5R2mv6UKVNUhQoVlKurq/Lz81PVq1dX48aNM9uXR9+b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",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "\n",
        "import matplotlib.pyplot as plt\n",
        "import numpy as np\n",
        "\n",
        "fig, ax = plt.subplots()\n",
        "\n",
        "line1 = ax.plot(range(20), losses, label='Training Loss MAT', color='red', marker='o')\n",
        "line2 = ax.plot(range(20), losses_gcn, label='Training Loss GCN', color='blue', marker='o')\n",
        "line3 = ax.plot(range(20), losses_dmpnn, label='Training Loss D-MPNN', color='green', marker='o')\n",
        "\n",
        "legend = ax.legend(loc='upper right', shadow=True)\n",
        "\n",
        "custom_x_ticks = np.arange(0, 20, 1)\n",
        "custom_x_label = [str(i+1) for i in custom_x_ticks]\n",
        "\n",
        "ax.set_xticks(custom_x_ticks)\n",
        "ax.set_xticklabels(custom_x_label)\n",
        "\n",
        "plt.xlabel('Epochs')\n",
        "plt.ylabel('Training Loss')\n",
        "plt.title('Training Loss Across Models')\n",
        "plt.grid(True)\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 62,
      "metadata": {},
      "outputs": [
        {
          "data": {
            "image/png": "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Gjg7O1OmTBnKli3LqVOnuH//vlHnu3z5MnZ2dlSrVk3veK1atbKVffjwIe+++y6BgYF6542LizP6vFnPX6NGDV2Ap6XtYrt8+bLe8UqVKul9rw2OcvtjbWxbcnrdj7dl6tSpeHh40KJFC2rUqMGYMWOydY989tln/PHHHwQGBtKiRQumT59uUNCWkZHBihUraNOmDVFRUVy4cIELFy7w5JNPcuPGDXbu3Kkre/HiRZ544gmDXluVKlWyvVbI+fdcu3Zt3ePOzs7MnDmTrVu34ufnR6tWrfjss8+IjY3VlW/dujW9e/dmxowZlClThh49erB48WJSUlIMaptW//79uX//Plu3bmXZsmV07dqVUqVKZSt369YtkpKScv1dZWZmcuXKFd3rzGlK/+PP/fvvvwFo27YtZcuW1fvYvn17juP6tPr160fLli0ZMWIEfn5+9O/fn1WrVklwJPIkAZEQ+WjatCm1a9fWzbj56aefUBRF7472448/ZvLkybRq1Yoff/yRbdu2ERERQb169cx6ER43bhwfffQRffv2ZdWqVWzfvp2IiAh8fX2L7OKvDQofpyhKkZwf1D+658+fZ8WKFTzzzDOsXbuWZ555hvfee09Xpm/fvvzzzz988803VKhQgc8//5x69eqxdevWPOvetWsXMTExrFixgho1aug+tAOLCzrbLKcxM4aaOHEif/31F5988gkuLi6888471KlTh99//x1At0bQwYMHGTt2LNeuXWPYsGE0bdqUhIQEg89Tvnx5QkJC+PLLL9m7d69uPFZR0P7//e9//0tERES2jw0bNuT6XFdXV/bu3cuOHTsYPHgwp06dol+/fnTo0EEvoydEVjKoWggDDBo0iHfeeYdTp06xfPlyatSooTeYds2aNbRp04YffvhB73lxcXF6A2kNUblyZTIzM7l48aLeXfP58+ezlV2zZg1Dhw7lyy+/1B1LTk4mLi5Or5wxq/hWrlyZU6dOkZmZqZcl+vPPP3WPF5XKlSvn+Lpzaou7uzv9+vWjX79+pKam0qtXLz766CPefPNNXRdU+fLleeWVV3jllVe4efMmTZo04aOPPqJz5865tmHZsmWUK1eOefPmZXts3bp1rF+/noULF+Lq6kq1atX4448/CvxaQf09awcxa50/fz7bz71atWpMmTKFKVOm8Pfff9OoUSO+/PJLfvzxR12Z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",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "fig, ax = plt.subplots()\n",
        "\n",
        "line1 = ax.plot(range(20), [x['mean_squared_error'] for x in val_losses], label='Validation Loss MAT', color='red', marker='o')\n",
        "line2 = ax.plot(range(20), [x['mean_squared_error'] for x in val_losses_gcn], label='Validation Loss GCN', color='blue', marker='o')\n",
        "line3 = ax.plot(range(20), [x['mean_squared_error'] for x in val_losses_dmpnn], label='Validation Loss D-MPNN', color='green', marker='o')\n",
        "\n",
        "legend = ax.legend(loc='upper center', shadow=True)\n",
        "\n",
        "custom_x_ticks = np.arange(0, 20, 1)\n",
        "custom_x_label = [str(i+1) for i in custom_x_ticks]\n",
        "\n",
        "ax.set_xticks(custom_x_ticks)\n",
        "ax.set_xticklabels(custom_x_label)\n",
        "\n",
        "plt.xlabel('Epochs')\n",
        "plt.ylabel('Validation Loss')\n",
        "plt.title('Validation Loss Across Models')\n",
        "plt.grid(True)\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "We employed three molecular models from DeepChem and recorded the training L2 loss for each epoch (Maximum of 20 epochs). Among the training L2 losses for GCN, MAT, and D-MPNN, the loss reduced to lowest for D-MPNN. Despite using the same input data and number of epochs, different architectures yielded slightly varying validation loss at end of 20 epochs. While the most reduction in validation is recorded for GCN model, D-MPNN showed a more stabilized reduction for validation loss."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## 5. Summary <a id=\"sum\" ></a>\n",
        "This notebook demonstrates how to predict the crystallization tendency of polymers using DeepChem's molecular model architecture."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "**Key steps:**\n",
        "\n",
        "1. **Data Loading:** A dataset of polymer SMILES strings mapped to their crystallization tendency is loaded.\n",
        "2. **Featurization and Model Training:**\n",
        "   - **Graph Convolutional Neural Network (GCN):** A GCN model is trained to capture the relationships between atoms and bonds in the polymer molecules.\n",
        "   - **Molecular Attention Transformer (MAT):** A MAT model is employed to dynamically weigh different parts of the molecule for prediction.\n",
        "   - **Directed Message Passing Neural Network (DMPNN):** A DMPNN model is used to learn representations of molecules by passing messages between atoms.\n",
        "3. **Loss Evaluation:** The training loss of each model is recorded to assess their performance.\n",
        "4. **Visualization:** A plot shows the training loss over epochs for the combined model.\n",
        "\n",
        "**Conclusion:**\n",
        "\n",
        "This tutorial provides a practical approach to predicting polymer crystallization tendency using DeepChem. By leveraging molecular modeling techniques, researchers and engineers can gain insights into the material properties of polymers, aiding in the design and development of new materials with desired characteristics."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "1qbl_AbeyCwN"
      },
      "source": [
        "## 6. References <a id='ref' ></a>"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "[1] [Venkatram, Shruti, et al. \"Predicting crystallization tendency of polymers using multifidelity information fusion and machine learning.\" The Journal of Physical Chemistry B 124.28 (2020): 6046-6054.](https://pubs.acs.org/doi/10.1021/acs.jpcb.0c01865)\n",
        "\n",
        "[2] [Rathi, Sneha, Rahul B. Chavan, and Nalini R. Shastri. \"Classification of the crystallization tendency of active pharmaceutical ingredients (APIs) and nutraceuticals based on their nucleation and crystal growth behaviour in solution state.\" Drug Delivery and Translational Research 10.1 (2020): 70-82.](https://pubmed.ncbi.nlm.nih.gov/31407270/)\n",
        "\n",
        "[3] [Rohani, Sohrab. \"Applications of the crystallization process in the pharmaceutical industry.\" Frontiers of Chemical Engineering in China 4 (2010): 2-9.](https://www.researchgate.net/publication/226764666_Applications_of_the_crystallization_process_in_the_pharmaceutical_industry)\n",
        "\n",
        "[4] [Bölcskei, É., et al. \"Testing of the structure of macromolecular polymer films containing solid active pharmaceutical ingredient (API) particles.\" Radiation Physics and Chemistry 80.7 (2011): 799-802.](https://sciencedirect.com/science/article/abs/pii/S0969806X11000946)\n",
        "\n",
        "[5] [Kawakami, Kohsaku. \"Crystallization tendency of pharmaceutical glasses: relevance to compound properties, impact of formulation process, and implications for design of amorphous solid dispersions.\" Pharmaceutics 11.5 (2019): 202.](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6572324/)\n",
        "\n",
        "[6] [Kuenneth, C., et al. \"Polymer informatics with multi-task learning. Patterns 2, 100238.\" (2021).](https://www.sciencedirect.com/science/article/pii/S2666389921000581)\n",
        "\n",
        "[7] [Nyamweya, Nasser N. \"Applications of polymer blends in drug delivery.\" Future Journal of Pharmaceutical Sciences 7 (2021): 1-15.](https://fjps.springeropen.com/articles/10.1186/s43094-020-00167-2)<a id=\"img-ref\"></a>\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# Congratulations! Time to join the Community!\n",
        "\n",
        "Congratulations on completing this tutorial notebook! If you enjoyed working through the tutorial, and want to continue working with DeepChem, we encourage you to finish the rest of the tutorials in this series. You can also help the DeepChem community in the following ways:\n",
        "\n",
        "## Star DeepChem on [GitHub](https://github.com/deepchem/deepchem)\n",
        "This helps build awareness of the DeepChem project and the tools for open source drug discovery that we're trying to build.\n",
        "\n",
        "## Join the DeepChem Gitter\n",
        "The DeepChem [Gitter](https://gitter.im/deepchem/Lobby) hosts a number of scientists, developers, and enthusiasts interested in deep learning for the life sciences. Join the conversation!\n",
        "\n",
        "## Join the DeepChem Discord\n",
        "The DeepChem [Discord](https://discord.gg/cGzwCdrUqS) hosts a number of scientists, developers, and enthusiasts interested in deep learning for the life sciences. Join the conversation!"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Citing This Tutorial\n",
        "If you found this tutorial useful please consider citing it using the provided BibTeX."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "@manual{Intro1,\n",
        " title={Utilizing Deepchem Molecular Models for Crystalization Tendency Regression of Polymers},\n",
        " organization={DeepChem},\n",
        " author={Mohanty, Debasish},\n",
        " howpublished = {\\url{https://github.com/deepchem/deepchem/blob/master/examples/tutorials/crystallization_tendency_regression.ipynb}},\n",
        " year={2024},\n",
        "}"
      ]
    }
  ],
  "metadata": {
    "accelerator": "GPU",
    "colab": {
      "gpuType": "T4",
      "provenance": []
    },
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.10.11"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}
